package com.dhcc.bpm.modules.gateway.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springblade.core.mp.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @ClassName Gateway
 * @Description 网关表实体类
 * @Author YaoZC
 * @Date 2019/11/26 16:08
 * @Version 1.0
 * @Copyright: 2019 东华软件 . All rights reserved.
 */
@Data
@TableName("opc_gateway")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Gateway对象", description = "网关表")
public class Gateway extends BaseEntity {

	private static final long serialVersionUID = 1L;

		/**
		* 网关名称
		*/
		@ApiModelProperty(value = "网关名称")
		private String gatewayName;
		/**
		* 网关编码
		*/
		@ApiModelProperty(value = "网关编码")
		private String gatewayCode;
		/**
		* 网关标识
		*/
		@ApiModelProperty(value = "网关标识")
		private String gatewayMark;
		/**
		* 网关IP
		*/
		@ApiModelProperty(value = "网关IP")
		private String gatewayIp;
		/**
		* 网关端口
		*/
		@ApiModelProperty(value = "网关端口")
		private String gatewayPort;
		/**
		* 报文类型
		*/
		@ApiModelProperty(value = "报文类型")
		private String messageType;
		/**
		* 访问协议
		*/
		@ApiModelProperty(value = "访问协议")
		@JsonSerialize(
				using = ToStringSerializer.class,
				nullsUsing = NullSerializer.class
		)
		private Integer accessProtocol;
		/**
		* 权限等级
		*/
		@ApiModelProperty(value = "权限等级")
		private String privilegeLevel;
		/**
		* 配置刷新地址
		*/
		@ApiModelProperty(value = "配置刷新地址")
		private String refreshPath;
		/**
		* 熔断周期
		*/
		@ApiModelProperty(value = "熔断周期")
		private String breakCycle;
		/**
		* 超时时间
		*/
		@ApiModelProperty(value = "超时时间")
		private String overTime;
		/**
		* 周期内异常数
		*/
		@ApiModelProperty(value = "周期内异常数")
		private String cycleError;
		/**
		* 描述
		*/
		@ApiModelProperty(value = "描述")
		@TableField(value = "`describe`")
		private String describe;

		/**
		 * 网关类型
		 */
		@ApiModelProperty(value = "网关类型")
		@TableField(value = "refresh_status")
		private String refreshStatus;
		/**
		 * 环境类型
		 */
		@ApiModelProperty(value = "环境类型")
		@TableField(value = "env")
		private String env;

	/**
	 * 导出数据标识
	 */
	@ApiModelProperty(value = "导出数据标识")
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private String expSeq;
}
